package com.starlight.flower_server.domain.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.starlight.flower_server.domain.TotalData;
import com.starlight.flower_server.domain.flowerUser.cqrs.FlowerUserPageQuery;
import com.starlight.flower_server.domain.flowerUser.data.FlowerUserData;
import com.starlight.flower_server.domain.flowerUser.data.TokenData;
import com.starlight.flower_server.infrastructure.entity.FlowerUser;

/**
 * @Author yfy2001
 * @date 2023/4/5 15:05
 */
public interface FlowerUserService {

    Integer insertUser(FlowerUser flowerUser);

    TokenData login(FlowerUser flowerUser);

    String logout(String token);

    FlowerUser queryUserDetailById(Long id);

    Integer logicDeleteUserById(Long id);

    Integer modifyUser(FlowerUser flowerUser);

    Integer resetPassword(FlowerUser flowerUser);

    Integer resetEmail(FlowerUser flowerUser);

    Long userExists(FlowerUser flowerUser);

    IPage<FlowerUserData> queryUserList(FlowerUserPageQuery query);

    TotalData<FlowerUserData> queryAllFlowerUserData();

    TotalData<FlowerUserData> queryFlowerUserTotalCount();

}
